package cn.yll.common.exception;

/**
 * 异常错误类型枚举
 * @author : yangll
 * 500 业务异常，意味着调用方对这类异常可以有恢复操作
 * 400 数据权限类
 */
public enum BsErrEnum {
    /** 参数错误类*/
    REQUEST_ILLEGAL(403, "非法请求，请终止操作"),
    REQUEST_TIME_ERROR(405, "请求过于频繁，请稍后重试"),
    PARAM_EMPTY(406, "参数不能为空"),
    PARAM_ILLEGAL(407, "请求参数错误"),

    /**
     * 登录会话类错误
     */
    NEED_LOGIN(450, "请登录后再执行此操作"),
    LOGIN_EXPIRE(450, "会话超时，请重新登录"),
    MOBILE_EMPTY(451, "请填写手机号"),
    MOBILE_EXIST(451, "手机号已被使用"),
    USERNAME_EMPTY(451, "请填写用户名"),
    USERNAME_EXIST(451, "用户名已被使用"),
    MOBILE_ERROR(451, "手机号格式不正确"),
    PWD_EMPTY(451, "请填写登录密码"),
    PWD_ERROR(451, "用户名或密码错误"),
    PWD_ILLEGAL(451, "登录密码格式不正确"),
    SMSCODE_EMPTY(451, "请输入短信验证码"),
    SMSCODE_EXPIRED(451, "短信验证码过期,请重新获取"),
    SMSCODE_ERROR(451, "短信验证码错误,请重新输入"),
    IMGCODE_EXPIRED(451, "图形验证码过期,请重新获取"),
    IMGCODE_ERROR(451, "图形验证码错误,请重新输入"),
    IMGCODE_EMPTY(451, "请输入图形验证码"),
    SMS_SEND_LOCK(445, "请不要频繁获取短信验证码"),
    REJECT_LOGIN(444, "您暂时被禁止登录，请联系客服"),
    ERROR_LOGIN(444, "您不能在此登录，请联系客服"),

    /**
     * 系统异常错误类
     */
    SYSTEM_ERROR(500, "请求服务异常,请联系客服"),
    REQUEST_ERROR(501, "请求错误"),
    UNKNOWN_ERROR(502, "请求错误，请重试"),
    RPC_ERROR(503, "远程服务出错,请联系客服"),
    TOKEN_ERROR(504, "token校验失败"),
    TOKEN_EXP(504, "token已过期"),
    ;

    private Integer code ;
    private String message ;

    BsErrEnum(Integer code, String message) {
        this.code = code;
        this.message = message;
    }

    public Integer getCode() {
        return code;
    }
    public String getMessage() {
        return message;
    }
}
